/*
 * 这种会掉方式的弊端
 * 1.自己封装的，就要必须设计好callback的名称
 * 2.如果使用的是别人写的，就要去查看别人的文档，才知道怎么用
*/

// request.js
function requestData(url, successCallback, failtureCallback) {
  // 模拟网络请求
  return new Promise((resolve, reject) => {
    // 模拟网络请求
    setTimeout(() => {
      // 拿到请求的结果
      // url正确则成功
      if(url === "user") {
        let names = ["aaa", "bbb", "ccc"]
        resolve(names)
      } else {
      // 否则失败
      let message = "请求失败"
        reject(message)
      }
    }, 3000)
  })
}


// main.js
const promise = requestData("user")
promise.then((res) => {
  console.log("请求成功", res);
}).catch((err) => {
  console.log("请求失败", err);
})
